package com.mygoproremote;
import java.io.ByteArrayOutputStream;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.gopro.main.GoProApi;
import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnErrorListener;
import android.media.MediaPlayer.OnPreparedListener;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.Button;
import android.widget.MediaController;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.VideoView;
public class PreviewActivity extends Activity {
VideoView videoview;
private static String URL = "http://10.5.5.9/bacpac/sd";
public String GoproPassword;
public int currentshutter=0,actual_mode=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preview);
final GlobalClass globalVariable = (GlobalClass) getApplicationContext();
// Get name and email from global/application context
GoproPassword = globalVariable.getpassword();
actual_mode = globalVariable.getMode();
PlayVideo();
};
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
System.out.println("Reyevent1:"+keyCode);
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_CENTER :
{
GoProApi gopro = new GoProApi(GoproPassword);
if (actual_mode==0) {
if (currentshutter==0) {
try {
System.out.println("Cam Record On");
gopro.getHelper().startRecord();
currentshutter=1;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("Error in /Cam Record On/");
}
} else {
try {
System.out.println("Cam Record Off");
gopro.getHelper().stopRecord();
currentshutter=0;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("Error in /Cam Record Off/");
}
}
} else {
try {
System.out.println("Photo Record On");
gopro.getHelper().startRecord();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("Error in /Photo Record On/");
}
}
return true;
}
}
return super.onKeyDown(keyCode, event);
}
private void PlayVideo()
{
try
{
final VideoView videoView = (VideoView) findViewById(R.id.videoView1);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
Uri video=Uri.parse("http://10.5.5.9:8080/live/amba.m3u8");
videoView.setMediaController(mediaController);
videoView.setVideoURI(video);
videoView.setMediaController(null);
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mp.stop();
PlayVideo();
}
});
videoView.setOnErrorListener(new OnErrorListener() {
public boolean onError(MediaPlayer mp, int what, int extra) {
return true;
}
});
videoView.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
videoView.start();
}
});
}
catch(Exception e)
{
System.out.println("Video Play Error :"+e.toString());
finish();
}
}
}